/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sanjose.proyectopatpro.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Joverxito
 */
@Entity
@Table(name = "TipoMoneda", catalog = "BDSanJose", schema = "dbo")
@NamedQueries({
    @NamedQuery(name = "TipoMoneda.findAll", query = "SELECT t FROM TipoMoneda t"),
    @NamedQuery(name = "TipoMoneda.findByIdTipoMoneda", query = "SELECT t FROM TipoMoneda t WHERE t.idTipoMoneda = :idTipoMoneda"),
    @NamedQuery(name = "TipoMoneda.findByDescripcionTipoMoneda", query = "SELECT t FROM TipoMoneda t WHERE t.descripcionTipoMoneda = :descripcionTipoMoneda"),
    @NamedQuery(name = "TipoMoneda.findByAcronimoTipoMoneda", query = "SELECT t FROM TipoMoneda t WHERE t.acronimoTipoMoneda = :acronimoTipoMoneda"),
    @NamedQuery(name = "TipoMoneda.findByFechaRegistro", query = "SELECT t FROM TipoMoneda t WHERE t.fechaRegistro = :fechaRegistro")})
public class TipoMoneda implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "idTipoMoneda", nullable = false)
    private Short idTipoMoneda;
    @Basic(optional = false)
    @Column(name = "descripcionTipoMoneda", nullable = false, length = 50)
    private String descripcionTipoMoneda;
    @Basic(optional = false)
    @Column(name = "acronimoTipoMoneda", nullable = false, length = 5)
    private String acronimoTipoMoneda;
    @Basic(optional = false)
    @Column(name = "fechaRegistro", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaRegistro;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idTipoMoneda")
    private List<Contrato> contratoList;

    public TipoMoneda() {
    }

    public TipoMoneda(Short idTipoMoneda) {
        this.idTipoMoneda = idTipoMoneda;
    }

    public TipoMoneda(Short idTipoMoneda, String descripcionTipoMoneda, String acronimoTipoMoneda, Date fechaRegistro) {
        this.idTipoMoneda = idTipoMoneda;
        this.descripcionTipoMoneda = descripcionTipoMoneda;
        this.acronimoTipoMoneda = acronimoTipoMoneda;
        this.fechaRegistro = fechaRegistro;
    }

    public Short getIdTipoMoneda() {
        return idTipoMoneda;
    }

    public void setIdTipoMoneda(Short idTipoMoneda) {
        this.idTipoMoneda = idTipoMoneda;
    }

    public String getDescripcionTipoMoneda() {
        return descripcionTipoMoneda;
    }

    public void setDescripcionTipoMoneda(String descripcionTipoMoneda) {
        this.descripcionTipoMoneda = descripcionTipoMoneda;
    }

    public String getAcronimoTipoMoneda() {
        return acronimoTipoMoneda;
    }

    public void setAcronimoTipoMoneda(String acronimoTipoMoneda) {
        this.acronimoTipoMoneda = acronimoTipoMoneda;
    }

    public Date getFechaRegistro() {
        return fechaRegistro;
    }

    public void setFechaRegistro(Date fechaRegistro) {
        this.fechaRegistro = fechaRegistro;
    }

    public List<Contrato> getContratoList() {
        return contratoList;
    }

    public void setContratoList(List<Contrato> contratoList) {
        this.contratoList = contratoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTipoMoneda != null ? idTipoMoneda.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TipoMoneda)) {
            return false;
        }
        TipoMoneda other = (TipoMoneda) object;
        if ((this.idTipoMoneda == null && other.idTipoMoneda != null) || (this.idTipoMoneda != null && !this.idTipoMoneda.equals(other.idTipoMoneda))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.sanjose.proyectopatpro.entity.TipoMoneda[ idTipoMoneda=" + idTipoMoneda + " ]";
    }
    
}
